Comment dissimuler les URL ?
(texte fortement inspiré de l'article : http://www.pc-help.org/obscure.htm)
pour tout commentaire/réclamation : cf bas de la page



Vous le savez tous, les sites internet sont hébergés sur des machines "comme" votre PC (un peu plus puissantes en générales ;), quelque part sur le web. Toute machine est identifiée sur le réseau par une série de nombres appelé adresse IP qui ressemble à ça : 128.35.196.22 (4 nombres codés sur 8 bits exprimés ici en décimal). Lorsque vous voulez aller sur un site web, vous devez ainsi spécifier l'addresse de la machine qui l'héberge ainsi que le nom de la page que vous désirez visionner. C'est de la forme http://www.monsite.com/mapage.html :

L'URL "www.monsite.com" est assez explicite. Normal, c'est fait pour :). En réalité, celle-ci est transformé en adresse IP, puisque comme je vous l'ai dit précédemment, c'est elle qui identifie une machine sur Internet.
C'est donc votre navigateur qui va se charger de trouver l'adresse IP à partir d'une URL que vous lui donnerez, en consultant la base de données d'un serveur DNS (c'est une base contenant les associations URL -> @IP). Vous pouvez lui spécifier directement l'IP, ce qui lui évitera de la chercher :).

Pour trouver l'adresse IP d'un site dont vous avez l'URL, rien de plus simple : allez dans le menu démarrer/exécuter et tapez "cmd". Une fois la console ouverte, tapez ping www.google.fr par exemple.
Vous normalement apparaitre un message de la forme "Réponse de xxx.xxx.xxx.xxx : octets=32 ..".
C'est çà son IP ; il vous suffit alors de l'écrire dans la barre d'adresse de votre navigateur favori, comme une URL, et cela affichera le site www.google.fr.

Maintenant, passons au vif du sujet : comment dissimuler une URL ?
Il faut savoir que vous pouvez utiliser une syntaxe spéciale vous permettant de vous identifier sur certain site le nécessitant (grâce à un .htaccess par exemple)
Vous pouvez spécifier un login et un mot de passe dans l'URL. dimonstration : "- bonjour je suis toto, mon mot de passe c'est titi et je voudrais accéder à la page mapage.html située sur le site popo.com"
Que fais-je ?
-> je tape "http://toto:titi@popo.com/mapage.html"
Cela permet au site de m'identifier et m'affiche la page direct.
Mais si le site ne requiert pas de login/password, alors les données spécifiées avant le "@" sont ignorées.
Si je tape "http://www.moncul.com@www.microsoft.com/mapage.html", je vais me retrouver sur le site de microsoft : ca peut donc prêter à confusion pour ceux qui ne connaissent pas cette syntaxe.
Et si on met l'IP du site de microsoft à la place de son URL, alors là à tous les coup 99% des internautes tomberons dans l'panneau :
"http://www.moncul.com@207.46.249.221/mapage.html" on se laisse tenter par ce qui à du sens, naturellement, et c'est www.moncul.com !

Encore plus interessant, vous pouvez coder l'IP en octal, hexadécimal ou dword ! (non pas binaire :p)
pour l'exemple on va prendre l'IP de tout à l'heure : 128.35.196.22
nb : vous pouvez vous servir de la calculatrice de Windows en mode scientifique pour faire les conversions

  • en octal (base 8) : on décompose chaque champ (nombre) en puissance de 8
    0200.043.0304.026 (vous noterez les "0" devant chaque nombre qui spécifient à votre navigateur que vous lui donner l'adresse en octal ; par ailleurs vous pouvez en mettre plus d'un devant chaque nombre)
  • en hexa (base 16) : on décompose chaque champ en puissance de 16 0x80.0x23.0xC4.0x16 (vous noterez les "0x" précédant chaque nombre, spécifiant que l'adresse est en hexa) ou simplement 0x8023C416 en supprimant les points
  • en dword (base 256 !) : on multiplie chaque champ par 256^sa_position
    (((128*256 + 35)*256) + 196)*256 + 22 = 2149827606

    En espérant ne pas m'être trompé dans les conversions, voici donc les différentes façon de "coder" l'url "http://www.moncul.com@www.microsoft.com/mapage.html"

  • http://www.moncul.com@207.46.249.221/mapage.html en décimal
  • http://www.moncul.com@0200.043.0304.026/mapage.html en octal
  • http://www.moncul.com@0x8023C416/mapage.html en hexadécimal
  • http://www.moncul.com@2149827606/mapage.html en dword
    nb : on peut également dépasser les bornes de l'encodage. Je m'explique : normalement mon IP codée en décimal est "128.35.196.22" : chaque champ doit être compris entre 0 et 255. Mais on peut dépasser ces bornes en ajoutant des multiples de 256 à chaque champ car certains navigateurs retouchent l'IP que vous tapez. Dans le cas de ceux-ci, on peut dire que 128.35.196.22 "équivaut" à 640.291.452.22 (attention à ne pas dépasser 3 chiffres par champ)

    Vous avez surement remarqué, ne serait-ce qu'en affichant une page html stockée sur votre dur, que les caractères "espace" sont transformés en "%20". C'est le code ASCII du caractère, et on peut également coder tous les autres caractères de l'URL en ASCII si on veut.
    La table ASCII peut se trouver ici par exemple : http://www.jimprice.com/jim-asc.htm (sans cacher l'adresse ;)
    et après un p'tit codage du chemin de l'arborescence on obtient :

    %6d %61 %70 %61 %67 %65 %2e %68 %74 %6d %6c
     m   a   p   a   g   e   .   h   t   m   l
    

    Au final, je peux accéder à mon site "http://www.microsoft.com/mapage.html" (qui, cela dit, ne devrait pas exister : c'est un exemple) en tapant :
    http://www.moncul.com@2149827606/%6d%61%70%61%67%65%2e%68%74%6d%6c si vous voulez faire croire à l'internaute "naïf" qu'il ira sur "http://www.moncul.com" ou tout simplement http://2149827606/%6d%61%70%61%67%65%2e%68%74%6d%6c qui est l'adresse "encodée".

    Chacun aura bien noté qu'il s'agit d'un encodage et non d'un chiffrement (différence entre chiffrement et encodage) : ça ne protège pas efficacement les URL contre quelqu'un s'y connaissant un peu (ou ayant lu ce même article ;).